import axios from 'axios'
// 引入qs库解决axios post请求体的问题
import qs from 'qs';

// const url = process.env.VUE_APP_BASE_API
//   axios.defaults.baseURL= '/api'
// //   'localhost:8080/'
//   axios.defaults.timeout= 5000
//   axios.defaults.headers.post['Content-Type'] = 'application/x-www-form-urlencoded;charset=UTF-8';
  const service = axios.create({
      baseURL: '/api',
      timeout: 5000
  })

//请求拦截器 
service.interceptors.request.use(
    config => {
        // 通常是请求前加上token
        // 存储的方式有两种一种是vuex存储，一种是浏览器的 session 存储
    //   if (store.getters.token) {
    //     //   执行加添token操作
    //   }
    // 练手项目不使用token
      return config
    },
    error => {
        console.log(111);
      return Promise.reject(error)
    }
  )

//响应拦截器 
service.interceptors.response.use(
    response => {
      const res = response.data
      if (res.status !== 0) {
        return Promise.reject(new Error(res.message || 'Error'))
      } else {
        return res.message
      }
    },
    error => {
      return Promise.reject(error)
    }
  )
  
  export function get(url,params) {
      return new Promise((resolve,reject) => {
        service.get(url,{
              params:params
          }).then(res => {
              resolve(res)
          }).catch(err => {
              reject(err)
          })
      })
  } 
  export function post(url,params) {
      return new Promise((resolve,reject)=> {
        service.post(url,qs.stringify(params)).then(res=> {
              resolve(res)
          }).catch(err => {
              reject(err)
          } )
      })
  }

